package com.yidian.service;

import com.yidian.common.entity.Result;
import com.yidian.entity.Article;
import com.yidian.entity.ArticleWithBLOBs;

import java.util.List;

public interface ArticleService {

    // 根据文章id获取文章详情（获取文章详情）
    Article selectArticleById(Long articleId);

    // 根据频道id查询下面所有的文章(获取频道的文章列表)
    List<Article> selectAllArticleByChannelId(long channelId);

    // 所有的文章(获取频道的文章列表)
    List<Article> selectAllArticle();

    //根据文章id让收藏字段加一（收藏文章）
    void updateArticleCollectAddCountByArticleId(Long articleId);

    // 根据文章id让收藏字段减一（取消收藏文章）
    void updateArticleCollectSubtractCountByArticleId(Long articleId);

    // 根据文章id让点赞字段加一（点赞文章）
    void updateArticleLikeAddCountByArticleId(Long articleId);

    // 根据文章id让点赞字段减一（取消点赞文章）
    void updateArticleLikeSubtractCountByArticleId(Long articleId);

    /**
     * 文章搜索
     * @param keyword
     * @return
     */
    List<Article> search(String keyword);

    /**
     * 获取所有文章
     */
    List<Article> selectArticle();
}
